package com.heze.xunhuan.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.heze.xunhuan.entity.Post;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 信息Mapper接口
 *
 * @author heze-xunhuan
 */
@Mapper
public interface PostMapper extends BaseMapper<Post> {

    /**
     * 分页查询信息列表（包含用户信息）
     */
    IPage<Post> selectPostPage(Page<Post> page, @Param("categoryId") Integer categoryId,
                                @Param("subCategory") String subCategory,
                                @Param("status") String status,
                                @Param("userId") Long userId,
                                @Param("lat") Double lat,
                                @Param("lng") Double lng,
                                @Param("radius") Double radius,
                                @Param("sortBy") String sortBy);

    /**
     * 搜索信息
     */
    IPage<Post> searchPosts(Page<Post> page, @Param("keyword") String keyword,
                            @Param("categoryId") Integer categoryId,
                            @Param("minPrice") Double minPrice,
                            @Param("maxPrice") Double maxPrice,
                            @Param("status") String status);
}

